package edu.boun.g4.coursity.dto;

import java.util.List;

import edu.boun.g4.coursity.domain.Comment;
import edu.boun.g4.coursity.domain.Course;
import edu.boun.g4.coursity.domain.Initiative;
import edu.boun.g4.coursity.domain.Institution;
import edu.boun.g4.coursity.domain.Instructor;
import edu.boun.g4.coursity.domain.SemanticTag;
import edu.boun.g4.coursity.domain.Rating;

/**
 * @author sebnemarslan
 * @author mertusta
 * 
 *         Data Transfer Object for displaying purposes
 */
public class CourseDto {

	private Integer courseId;

	private String courseName;

	private Integer rating;

	private String courseDescription;

	private Initiative initiative;

	private Institution institution;

	private Instructor instructor;

	private List<SemanticTag> categories;

	private String languages;

	private List<Comment> comments;
	
	private List<Rating> ratings;

	private String startingDate;

	private String info;

	private String url;

	private String length;

	private String estimatedEffort;

	private List<Course> prerequisites;

	private String recommendedBackground;

	private String certificate;

	private String textbook;

	private String country;

	private Boolean peerAssesment;

	private Boolean teamProjects;

	private Boolean exam;

	private Boolean videoLectures;

	private Boolean forum;

	// public CourseDto(Integer courseId, String courseName, Integer rating,
	// String courseDescription, Initiative initiative,
	// Institution institution, List<Instructor> instructors,
	// List<SemanticTag> categories, List<Language> languages,
	// List<Comment> comments, Date startingDate, String info, String url,
	// String length, String estimatedEffort, List<Course> prerequisites,
	// List<SemanticTag> recommendedBackground, String certificate,
	// String textbook, String country, Boolean peerAssesment,
	// Boolean teamProjects, Boolean exam, Boolean videoLectures,
	// Boolean forum) {
	// super();
	// this.courseId = courseId;
	// this.courseName = courseName;
	// this.rating = rating;
	// this.courseDescription = courseDescription;
	// this.initiative = initiative;
	// this.institution = institution;
	// this.instructors = instructors;
	// this.categories = categories;
	// this.languages = languages;
	// this.comments = comments;
	// this.startingDate = startingDate;
	// this.info = info;
	// this.url = url;
	// this.length = length;
	// this.estimatedEffort = estimatedEffort;
	// this.prerequisites = prerequisites;
	// this.recommendedBackground = recommendedBackground;
	// this.certificate = certificate;
	// this.textbook = textbook;
	// this.country = country;
	// this.peerAssesment = peerAssesment;
	// this.teamProjects = teamProjects;
	// this.exam = exam;
	// this.videoLectures = videoLectures;
	// this.forum = forum;
	// }

	public Integer getCourseId() {
		return courseId;
	}

	public void setCourseId(Integer courseId) {
		this.courseId = courseId;
	}

	public String getCourseName() {
		return courseName;
	}

	public void setCourseName(String courseName) {
		this.courseName = courseName;
	}

	public Integer getRating() {
		return rating;
	}

	public void setRating(Integer rating) {
		this.rating = rating;
	}

	public String getCourseDescription() {
		return courseDescription;
	}

	public void setCourseDescription(String courseDescription) {
		this.courseDescription = courseDescription;
	}

	public Initiative getInitiative() {
		return initiative;
	}

	public void setInitiative(Initiative initiative) {
		this.initiative = initiative;
	}

	public Institution getInstitution() {
		return institution;
	}

	public void setInstitution(Institution institution) {
		this.institution = institution;
	}

	public Instructor getInstructor() {
		return instructor;
	}

	public void setInstructor(Instructor instructor) {
		this.instructor = instructor;
	}

	public List<SemanticTag> getCategories() {
		return categories;
	}

	public void setCategories(List<SemanticTag> categories) {
		this.categories = categories;
	}

	public String getLanguages() {
		return languages;
	}

	public void setLanguages(String languages) {
		this.languages = languages;
	}

	public List<Comment> getComments() {
		return comments;
	}

	public void setComments(List<Comment> comments) {
		this.comments = comments;
	}
	
	public List<Rating> getRatings() {
		return ratings;
	}

	public void setRatings(List<Rating> ratings) {
		this.ratings = ratings;
	}

	public String getStartingDate() {
		return startingDate;
	}

	public void setStartingDate(String startingDate) {
		this.startingDate = startingDate;
	}

	public String getInfo() {
		return info;
	}

	public void setInfo(String info) {
		this.info = info;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getLength() {
		return length;
	}

	public void setLength(String length) {
		this.length = length;
	}

	public String getEstimatedEffort() {
		return estimatedEffort;
	}

	public void setEstimatedEffort(String estimatedEffort) {
		this.estimatedEffort = estimatedEffort;
	}

	public List<Course> getPrerequisites() {
		return prerequisites;
	}

	public void setPrerequisites(List<Course> prerequisites) {
		this.prerequisites = prerequisites;
	}

	public String getRecommendedBackground() {
		return recommendedBackground;
	}

	public void setRecommendedBackground(String recommendedBackground) {
		this.recommendedBackground = recommendedBackground;
	}

	public String getCertificate() {
		return certificate;
	}

	public void setCertificate(String certificate) {
		this.certificate = certificate;
	}

	public String getTextbook() {
		return textbook;
	}

	public void setTextbook(String textbook) {
		this.textbook = textbook;
	}

	public String getCountry() {
		return country;
	}

	public void setCountry(String country) {
		this.country = country;
	}

	public Boolean getPeerAssesment() {
		return peerAssesment;
	}

	public void setPeerAssesment(Boolean peerAssesment) {
		this.peerAssesment = peerAssesment;
	}

	public Boolean getTeamProjects() {
		return teamProjects;
	}

	public void setTeamProjects(Boolean teamProjects) {
		this.teamProjects = teamProjects;
	}

	public Boolean getExam() {
		return exam;
	}

	public void setExam(Boolean exam) {
		this.exam = exam;
	}

	public Boolean getVideoLectures() {
		return videoLectures;
	}

	public void setVideoLectures(Boolean videoLectures) {
		this.videoLectures = videoLectures;
	}

	public Boolean getForum() {
		return forum;
	}

	public void setForum(Boolean forum) {
		this.forum = forum;
	}

}
